/* Prism components — card (5 variants) + data-list helpers (hscroll, rank). */

.c-card{position:relative;display:flex;flex-direction:column;min-width:0}
.c-card__thumb{position:relative;display:block;border-radius:var(--radius-md);overflow:hidden;background:var(--c-surface-2)}
.c-card__thumb img{transition:transform .4s var(--ease)}
.c-card:hover .c-card__thumb img{transform:scale(1.05)}
.c-card__badge{position:absolute;top:6px;right:6px;z-index:2;font-size:var(--fs-xs);font-weight:600;line-height:1;
  padding:.25em .5em;border-radius:var(--radius-sm);background:var(--c-overlay);color:#fff;backdrop-filter:blur(2px)}
.c-card__body{padding-top:var(--space-sm);display:flex;flex-direction:column;gap:2px;min-width:0}
.c-card__title{font-size:var(--fs-sm);font-weight:600;color:var(--c-text)}
.c-card__title:hover{color:var(--c-accent)}
.c-card__sub{font-size:var(--fs-xs)}

/* variant: poster-v (default) — vertical 2:3 poster */
.c-card--poster-v .c-card__thumb{aspect-ratio:2/3}

/* variant: poster-h — landscape thumb beside text */
.c-card--poster-h{flex-direction:row;gap:var(--space-sm);align-items:flex-start}
.c-card--poster-h .c-card__thumb{flex:0 0 42%;aspect-ratio:16/10}
.c-card--poster-h .c-card__body{padding-top:0}

/* variant: overlay — title over a gradient on the poster */
.c-card--overlay .c-card__thumb{aspect-ratio:2/3}
.c-card--overlay .c-card__body{position:absolute;inset:auto 0 0 0;z-index:2;padding:var(--space-sm);
  background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,0))}
.c-card--overlay .c-card__title,.c-card--overlay .c-card__sub{color:#fff}

/* variant: compact — small thumb + one line (sidebars) */
.c-card--compact{flex-direction:row;gap:var(--space-sm);align-items:center}
.c-card--compact .c-card__thumb{flex:0 0 56px;aspect-ratio:1/1;border-radius:var(--radius-sm)}
.c-card--compact .c-card__body{padding-top:0}
.c-card--compact .c-card__title{-webkit-line-clamp:1}

/* variant: text — no thumb (article/text lists) */
.c-card--text{padding:var(--space-sm) 0;border-bottom:1px solid var(--c-border)}
.c-card--text .c-card__title{font-size:var(--fs-md)}

/* ── data-list render helpers ── */
.c-hscroll{display:flex;gap:var(--col-gap);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-xs);scrollbar-width:thin}
.c-hscroll>*{flex:0 0 var(--card-min);scroll-snap-align:start}
.c-list--rows{gap:0}

/* rank list (rank_list) */
.c-rank{display:flex;flex-direction:column;container-type:inline-size}
.c-rank__item{display:flex;align-items:center;gap:var(--space-sm);padding:.5em 0;border-bottom:1px solid var(--c-border)}
.c-rank__item:last-child{border-bottom:0}
.c-rank__no{flex:0 0 1.7em;text-align:center;font-weight:700;font-size:var(--fs-sm);color:var(--c-text-muted)}
.c-rank__item:nth-child(-n+3) .c-rank__no{color:var(--c-accent)}
.c-rank__title{flex:1;min-width:0;font-size:var(--fs-sm)}
.c-rank__title:hover{color:var(--c-accent)}
.c-rank__hits{flex:none;font-size:var(--fs-xs)}
